package com.hzz.dto.river;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("违法案件 DTO")
public class CasesDto extends BaseDto {
    /** id */
    Long id;
    
    /** 案件编号 */
    @NotNull(message = "caseCode不能为空")
    @Size(max = 50, message = "caseCode最大50字符")
    String caseCode;
    
    /** 案件名称 */
    @NotNull(message = "caseName不能为空")
    @Size(max = 100, message = "caseName最大100字符")
    String caseName;
    
    /** 案件类别 */
    @Size(max = 50, message = "caseType最大50字符")
    String caseType;
    
    /** 案发地点 */
    @Size(max = 100, message = "caseAddr最大100字符")
    String caseAddr;
    
    /** 所在经度 */
    @NotNull(message = "longitude不能为空")
    Double longitude;
    
    /** 所在纬度 */
    @NotNull(message = "latitude不能为空")
    Double latitude;
    
    /** 立案时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date filingTime;
    
    /** 当事人 */
    @Size(max = 100, message = "iitigant最大100字符")
    String iitigant;
    
    /** 案情介绍 */
    @Size(max = 255, message = "caseIntroduction最大255字符")
    String caseIntroduction;
    
    /** 案件处理情况 */
    @Size(max = 50, message = "caseHandling最大50字符")
    String caseHandling;
    
    /** 处理结果 */
    @Size(max = 100, message = "handlingResult最大100字符")
    String handlingResult;
    
    /** 结案方式 */
    @Size(max = 100, message = "closingMethod最大100字符")
    String closingMethod;
    
    /** 结案时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date closingTime;
    
    /** 案件承办部门 */
    @Size(max = 50, message = "handlingDepartment最大50字符")
    String handlingDepartment;
    
    /** 承办人 */
    @Size(max = 50, message = "undertaker最大50字符")
    String undertaker;
    
    /** 行政区划 */
    @Size(max = 100, message = "regionId最大100字符")
    String regionId;
    
    /** 行政区划名称 */
    @Size(max = 100, message = "regionName最大100字符")
    String regionName;
    
    /** 备注 */
    @Size(max = 255, message = "memo最大255字符")
    String memo;
    
    /** 删除标识(0未删除1已删除) */
    Integer delFlag;
    
    /** 建立者id */
    Long createId;
    
    /** 更新时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateUpdated;
    
    /** 创建时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateCreated;
    
}
